]> dgit.raspbian.org Git - gnome-shell.git/commit
messageTray: Don't set _notificationRemoved if destroyed notification is queued
authormsizanoen1 <msizanoen@qtmlabs.xyz>
Sat, 15 Apr 2023 08:55:47 +0000 (15:55 +0700)
committerMarge Bot <marge-bot@gnome.org>
Mon, 17 Apr 2023 19:40:45 +0000 (19:40 +0000)
commitcde7d44a28688cd925bac45ebfa2bb0e7dd46860
tree321f262943d612b6cd6b501d4346405f38c452a1
parent15048c1fcbf63e5e7f6f1651130208a0313fc93c
messageTray: Don't set _notificationRemoved if destroyed notification is queued

When the user clears all notifications from the notification menu UI, it's
possible for a queued notification to be destroyed after the currently displayed
notification. The removal of the currently displayed notification is not
processed until the notification menu is closed (due to `this._bannerBlocked`).
By then, it's possible that `_notificationRemoved` has already been overwritten
when `_onNotificationDestroy` is invoked with another (queued) notification.

This eventually results in a notification banner that cannot be removed by the
user as the notification object needed to do so has already been destroyed.

Fix this by only assigning to `_notificationRemoved` if `this._notification ==
notification`.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2736>
js/ui/messageTray.js